package com.lijinjiang.constant;

import com.lijinjiang.graphics.JCalendarIcon;
import com.lijinjiang.graphics.JConfirmIcon;
import com.lijinjiang.graphics.JNextIcon;
import com.lijinjiang.graphics.JPreviousIcon;

import javax.swing.*;

/**
 * @Description 图标工厂
 * @Author lijinjiang
 * @Date 2024-12-30 10:52
 */
public final class Icons {

    private static final Icon nextIconEnabled;
    private static final Icon superNextIconEnabled;
    private static final Icon previousIconEnabled;
    private static final Icon superPreviousIconEnabled;
    private static final Icon nextIconDisabled;
    private static final Icon superNextIconDisabled;
    private static final Icon previousIconDisabled;
    private static final Icon superPreviousIconDisabled;
    private static final Icon confirmIcon;
    private static final Icon calendarIcon;

    static {
        nextIconEnabled = new JNextIcon(4, 7, false, true);
        superNextIconEnabled = new JNextIcon(8, 7, true, true);
        previousIconEnabled = new JPreviousIcon(4, 7, false, true);
        superPreviousIconEnabled = new JPreviousIcon(8, 7, true, true);
        nextIconDisabled = new JNextIcon(4, 7, false, false);
        superNextIconDisabled = new JNextIcon(8, 7, true, false);
        previousIconDisabled = new JPreviousIcon(4, 7, false, false);
        superPreviousIconDisabled = new JPreviousIcon(8, 7, true, false);
        confirmIcon = new JConfirmIcon(8, 8);
        calendarIcon = new JCalendarIcon(30, 30);
    }

    public static Icon getNextIconEnabled() {
        return nextIconEnabled;
    }

    public static Icon getNextIconDisabled() {
        return nextIconDisabled;
    }

    public static Icon getSuperNextIconEnabled() {
        return superNextIconEnabled;
    }

    public static Icon getSuperNextIconDisabled() {
        return superNextIconDisabled;
    }

    public static Icon getPreviousIconEnabled() {
        return previousIconEnabled;
    }

    public static Icon getPreviousIconDisabled() {
        return previousIconDisabled;
    }

    public static Icon getSuperPreviousIconEnabled() {
        return superPreviousIconEnabled;
    }

    public static Icon getSuperPreviousIconDisabled() {
        return superPreviousIconDisabled;
    }

    public static Icon getConfirmIcon() {
        return confirmIcon;
    }

    public static Icon getCalendarIcon() {
        return calendarIcon;
    }

}
